package com.example.simple_android.annotation;

import com.example.simple_android.constant.Constant;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
public @interface Receiver {

    /**
     * @return 此变量表示被标记的广播接收者的启动时机，默认为立即启动，Constant.ReceiverConstant.WAIT表示等待开发者启动
     */
    int whenToStart() default Constant.ReceiverConstant.IMMEDIATELY;

    /**
     * @return 广播接收者，监听的动作
     */
    String[] actions();

    /**
     * @return 非标准广播接收者的方法名
     */
    String methodName() default "";
}
